﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
using DTO;
using BUS;
namespace GUI
{
    public partial class FormBaoCaoDoanhThuTheoNgay : Form
    {
        public FormBaoCaoDoanhThuTheoNgay()
        {
            InitializeComponent();
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                button1.Enabled = true;
            }
            else
            {
                button1.Enabled = false;
            }
        }
        string path = "";
        private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Title = "Chọn nơi lưu";
            sfd.Filter = "Excel WorkBook|*.xls";
            sfd.FileName = "Bao Cao.xls";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                path = sfd.FileName;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        // Cần Ghi Báo Cáo Ra FileExcel cho nên listDoanhThu sẽ để toàn cục
        TinhTienBUS ttBus = new TinhTienBUS();
        List<TinhTienDTO> listTinhTien; 
        long TongDoanhThu = 0;
        public void BaoCaoDoanhThuTheoNgay(int Ngay,int Thang,int Nam)
        {
             
            // Khởi Tạo Cấu Trúc Danh Sách Doanh Thu Loại Món Để In Ra DGV
             int STT = 1;
            listTinhTien = ttBus.DoanhThuTheoNgay(Ngay, Thang, Nam);
             foreach (TinhTienDTO singleR in listTinhTien)
             {
                 dataGridView1.Rows.Add(STT, singleR.Id_Hoa_Don, string.Format("{0:#,##0 VND;(#,##0 VND);''}", singleR.Tong_So_Tien));
                STT++;
            }
             foreach (TinhTienDTO singleR in listTinhTien)
             {
                 TongDoanhThu = TongDoanhThu + singleR.Tong_So_Tien;
             }
            textBox1.Text = TongDoanhThu.ToString();
        }
        public void XuatRaFileExcel(string FileName)
        {
            if (File.Exists(FileName))
            {
                File.Delete(FileName);
            }
            Excel._Application oApp;
            Excel.Worksheet oSheet;
            Excel.Workbook oBook;
            oApp = new Excel.Application();
            oBook = (Excel.Workbook)oApp.Workbooks.Add();
            oSheet = (Excel.Worksheet)oBook.Worksheets.get_Item(1);
            // Tiểu Đề
            oSheet.Cells[1, 1] = "STT";
            oSheet.Cells[1, 2] = "Số Hóa Đơn";
            oSheet.Cells[1, 3] = "Doanh Thu";
            int i = 2;
            foreach (TinhTienDTO singleR in listTinhTien)
            {
                oSheet.Cells[i, 1] = i-1;
                oSheet.Cells[i, 2] = singleR.Id_Hoa_Don;
                oSheet.Cells[i, 3] = singleR.Tong_So_Tien;
                i++;

            }
            oBook.SaveAs(FileName);
            oBook.Close();
            oApp.Quit();
        }
        DateTime dt = new DateTime();
        private void button3_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            dt = dateTimePicker1.Value;
            BaoCaoDoanhThuTheoNgay(dt.Day, dt.Month, dt.Year);
            textBox1.Text = string.Format("{0:#,##0 VND;(#,##0 VND);''}", TongDoanhThu);
            if (checkBox1.Checked)
            {
                XuatRaFileExcel(path);
            }
            MessageBox.Show("Báo Cáo Thành Công");
            // Reset lại trạng thái ban đầu
            
            listTinhTien.Clear();
            TongDoanhThu = 0;
            textBox1.Text = "";
            return;
        }
    }
}
